home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / compat.exe / COMPAT.DOC < prev    next >
Text File  |  1992-06-26  |  2KB  |  58 lines

  1. About Unit COMPAT:
  2.  
  3.  
  4. TFuncBox is a TDialog descendant which can execute your old Turbo Pascal
  5. functions without TurboVision modifications.  
  6.  
  7. The function must be of this type:
  8.  
  9.   function TestFunc : word;  far;
  10.   begin
  11.     ...
  12.     call your old TP procedures here
  13.     ...
  14.   end;
  15.  
  16. It MUST be declared as a FAR function.  Normally, you would write your
  17. function to run your old units.
  18.  
  19. TFuncBox is initialized and executed in a manner similar to an ordinary
  20. dialog box except that it includes an additional parameter, which is a
  21. pointer to your function:
  22.  
  23.   var  R: TRect;  D: PFuncBox;
  24.   begin
  25.     R.Assign (,,,);
  26.     D := New (PFuncBox, Init (R, 'Test', @TestFunc));
  27.     DeskTop^.ExecView (D);  { executes function TestFunc() }
  28.     Dispose (D, Done);
  29.   end;
  30.  
  31. The result of the function (eg: TestFunc) would be returned by ExecView.
  32. Unlike TDialog, this function will allow a return of any word value.  But be
  33. prepared for a return of cmCancel if ValidView() fails.
  34.  
  35. Regular TP I/O procedures are window-sensitive, eg: GotoXY(), ClrScr(), etc.
  36. If your old program uses screen procedures that are not window sensitive (or
  37. for executing another program within your own), you can open one of these
  38. windows as oversized (to eliminate the border), and then execute it from the
  39. application instead of the desktop:
  40.  
  41.     Application^.GetExtent (R);
  42.     R.Grow (1,1);
  43.     Application^.ExecView (New (PFuncBox, Init (R, '', @TestFunc)));
  44.  
  45. Both of these configurations are demonstrated in RUNTEST.PAS.
  46.  
  47.  
  48.  
  49. This is a free public domain unit.  Don't let it encourage you to veer too
  50. far from the TurboVision framework.  This should only be used as a stepping
  51. stone in a progression toward full TurboVision programs.
  52.  
  53.  
  54.   Randolph Beck
  55.   P.O. Box  56-0487
  56.   Orlando, FL 32856
  57.  
  58.